Skip to main content

buffer busy waits

Short Description

Wait until a buffer becomes available.

Detailed Description​

This event happens because a buffer is either being read into the buffer cache by another session (and the session is waiting for that read to complete) or the buffer is the buffer cache, but in a incompatible mode (that is, some other session is changing the buffer).

How to reduce this wait​

Look at v$waitstat (or the buffer busy drill down page) and determine the block type with the highest waits.

Block Type and Action:

  • Undo Header - Use Automatic Undo Management (AUM) or add more RBS segments)

  • Undo Block - Use AUM (or increase RBS sizes)

  • Data Block - First determine if it is an I/O problem. The Buffer Busy Waits drill-down page should provide this information. Otherwise, sample from v$session_wait

    SELECT p3, count(*)
    FROM v$session_wait
    WHERE event='buffer busy wait'
    ;

    If p3 is less than 200 then it is an I/O problem. Either improve I/O performance or change application. Applications running concurrent batch jobs that do full table scans on the same large tables run into this problem.

  • Free List - Use ASSM (or freelists groups)

Search online​

If this article doesn't have the information you need you can try searching online. Remember, you can contribute suggestions to this page.